#include <iostream>

using namespace std;

//点和圆关系
class Point
{
public:
    void set_X(int x)
    {
        m_X = x;
    }
    void set_Y(int y)
    {
        m_Y = y;
    }
    int get_X()
    {
        return m_X;
    }
    int get_Y()
    {
        return m_Y;
    }

private:
    int m_X;
    int m_Y;
};

class Circle
{
public:
    void set_R(int r)
    {
        m_R = r;
    }
    int get_R()
    {
        return m_R;
    }
    void set_Center(int x, int y)
    {
        m_Center.set_X(x);
        m_Center.set_Y(y);
    }
    Point get_Center()
    {
        return m_Center;
    }

private:
    int m_R;
    Point m_Center;
};

void isInCircle(Circle &c, Point &p)
{
    if((p.get_X() - c.get_Center().get_X())*(p.get_X() - c.get_Center().get_X()) + (p.get_Y() - c.get_Center().get_Y())*(p.get_Y() - c.get_Center().get_Y()) > c.get_R()*c.get_R())
    {
        cout << "点在圆外" << endl;
    }
    else if((p.get_X() - c.get_Center().get_X())*(p.get_X() - c.get_Center().get_X()) + (p.get_Y() - c.get_Center().get_Y())*(p.get_Y() - c.get_Center().get_Y()) < c.get_R()*c.get_R())
    {
        cout << "点在圆内" << endl;
    }
    else
    {
        cout << "点在圆上" << endl;
    }
}

int main(void)
{
    Circle c;
    c.set_R(10);
    Point center;
    center.set_X(10);
    center.set_Y(0);
    c.set_Center(center.get_X(), center.get_Y());
    Point p;
    p.set_X(10);
    p.set_Y(9);
    isInCircle(c, p);

    return 0;
}
